
// 代码题
// 一、将下面异步代码用Promise的方式改进
// setTimeout(function () {
//     var a = 'hello'
//     setTimeout(function () {
//         var b = 'lagou'
//         setTimeout(function () {
//             var c = 'I ❤ U'
//             console.log(a + b + c)
//         }, 10)
//     }, 10)
// }, 10)


/**
 *  代码分析：以上代码有多个异步调用，且异步方法之间有依赖关系，造成嵌套太深，有重复代码
 *  1. 提取相同功能代码，提高重用性
 *  2. 使用promise，解决嵌套太深的问题
 */
let makePromise = str => new Promise(resolve => setTimeout(() => resolve(str), 10))

makePromise('hello')
    .then(res => makePromise(res + 'lagou') )
    .then(res => makePromise(res + 'I ❤ U') )
    .then(res => console.log(res) )
